home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-03-22 | 4.6 KB | 152 lines |
- 100 KEY OFF
- 110 DEF FNSZ(X,Y)=(4+INT((X+7)/8)*Y)/2
- 120 GOSUB 890
- 130 GOSUB 250
- 140 GOSUB 230
- 150 GOSUB 330
- 160 GOSUB 420
- 170 LOCATE 10,15: PRINT "GAME OVER"
- 180 LOCATE 12,7: PRINT "PRESS "P" PLAY AGAIN "E" QUIT":DEF SEG=0:POKE 1050,PEEK(1052)
- 190 A$=INKEY$:IF A$="P" THEN 200
- 194 IF A$<>"E" THEN 190
- 196 RUN"BASMENU
- 200 FLAG=0
- 210 GOTO 130
- 220 '
- 230 SCORE=0:TROOPS=10:WT=0:WS=0:RETURN
- 240 '
- 250 CLS:SCREEN 1:DEF SEG=0:POKE 1050,PEEK(1052)
- 260 LOCATE 10,15:PRINT "LEVEL :
- 270 LOCATE 12,15:PRINT "(N)ovice"
- 280 LOCATE 14,15:PRINT "(E)xpert"
- 290 A$=INKEY$:IF A$="" THEN 290
- 300 CLS
- 310 RETURN
- 320 '
- 330 CLS
- 340 COLOR 9,1:LINE(0,0)-(320,150),1,BF
- 350 GOSUB 800
- 360 IF A$="N" OR A$="n" THEN 370 ELSE 380
- 370 LINE(43,140)-(60,160),2,BF:LINE(143,140)-(168,160),2,BF:LINE(251,140)-(284,160),2,BF:A=284:B=170:C=60:D=249:E=139:F=41:GOTO 390
- 380 LINE(46,140)-(57,160),2,BF:LINE(146,140)-(165,160),2,BF:LINE(254,140)-(281,160),2,BF:A=281:B=165:C=57:D=252:E=144:F=44
- 390 LOCATE 19,7:PRINT "7":LOCATE 20,7:PRINT "5":LOCATE 19,20:PRINT "5":LOCATE 20,20:PRINT "0":LOCATE 19,34:PRINT "2":LOCATE 20,34:PRINT "5"
- 400 RETURN
- 410 '
- 420 PLX=1
- 430 DEF SEG=&H40: RANDOMIZE PEEK(&H6D)
- 440 GOSUB 800
- 450 PLY=INT(RND(1)*30)+40:NY=PLY
- 460 GOSUB 840
- 470 IF JUMP=1 THEN 490
- 480 IF INKEY$<>"" THEN JUMP=1:PX=PLX+5:PY=PLY+10:PUT (PX,PY),TROOP%
- 490 IF JUMP=1 THEN GOSUB 540
- 500 IF TROOPS=0 THEN FLAG=1:GOTO 520
- 510 GOTO 460
- 520 RETURN
- 530 '
- 540 PUT (PX,PY),TROOP%:PX=PX+DX:PY=PY+DY:IF PX>299 THEN PX=1
- 550 PUT(PX,PY),TROOP%
- 560 T=INT(PY):IF T<=119 AND T>=116 THEN 600
- 570 IF PY>=BOT THEN 730
- 580 RETURN
- 590 '
- 600 L=PX+9
- 610 IF L<=A AND L>=D THEN PAD=1:GOTO 650
- 620 IF L<=B AND L>=E THEN PAD=2:GOTO 650
- 630 IF L<=C AND L>=F THEN PAD=3:GOTO 650
- 640 RETURN
- 650 PUT(PX,PY),TROOP%:PUT(PX,PY),LAND%
- 660 SCORE=SCORE+PAD*25
- 670 LOCATE 1:PRINT " MISSION SUCCESSFUL! "
- 680 FOR W=1 TO 100:GOSUB 830:NEXT W
- 690 PUT(PX,PY),LAND%:NY=INT(RND(1)*30)+40
- 700 JUMP=0:GOSUB 800
- 710 DEF SEG=0:POKE 1050,PEEK(1052):RETURN
- 720 '
- 730 PUT(PX,PY),TROOP%:PUT(PX,PY),SPLASH%
- 740 LOCATE 1:PRINT " TROPPER MISSED TARGET "
- 750 FOR W=1 TO 100:GOSUB 830:NEXT W
- 760 TROOPS=TROOPS-1:SCORE=SCORE-10:JUMP=0:GOSUB 800
- 770 PUT(PX,PY),SPLASH%:NY=INT(RND(1)*30)+40
- 780 DEF SEG=0:POKE 1050,PEEK(1052):RETURN
- 790 '
- 800 WS=INT(RND(1)*11):DX=WS/6:WT=INT(RND(1)*225)+75:DY=WT/150:BOT=INT(RND(1)*15)+160
- 810 LOCATE 1:PRINT "SCORE";TAB(6);SCORE;TAB(13);"TROOPS";TAB(19);TROOPS;TAB(26);"WS";TAB(28);WS;TAB(34);"WT";TAB(36);WT;TAB(40);" "
- 820 RETURN
- 830 '
- 840 PLX=PLX-1
- 850 IF PLX=0 THEN LINE(1,PLY)-(28,PLY+10),1,BF:PLX=280:PLY=NY
- 860 PUT(PLX,PLY),PLANE%,PSET
- 870 RETURN
- 880 '
- 890 READ X,Y:N=FNSZ(X,Y)
- 900 DIM PLANE%(N)
- 910 PLANE%(0)=X:PLANE%(1)=Y
- 920 FOR I=2 TO N:READ PLANE%(I):NEXT I
- 930 READ X,Y:N=FNSZ(X,Y)
- 940 DIM TROOP%(N)
- 950 TROOP%(0)=X:TROOP%(1)=Y
- 960 FOR I=2 TO N:READ TROOP%(I):NEXT I
- 970 READ X,Y:N=FNSZ(X,Y)
- 980 DIM LAND%(N)
- 990 LAND%(0)=X:LAND%(1)=Y
- 1000 FOR I=2 TO N:READ LAND%(I):NEXT I
- 1010 READ X,Y:N=FNSZ(X,Y)
- 1020 DIM SPLASH%(N)
- 1030 SPLASH%(0)=X:SPLASH%(1)=Y
- 1040 FOR I=2 TO N:READ SPLASH%(I):NEXT I
- 1050 TEMP$="E8G16G3L16FEDL5EFF#G":TEMP1$="A8>C16C3L16DC<AG2":TEMP3$="B8>D16D3L16C<BA>D2":T$=TEMP$+TEMP1$:S$=TEMP$+TEMP3$
- 1060 CLS:SCREEN 1:COLOR 9,1
- 1070 PLAY "MB T90 O2 L8;XT$;"
- 1080 A$="P":L=11:X=75:GOSUB 1220
- 1090 A$="A":L=13:X=91:GOSUB 1220
- 1100 A$="R":L=15:X=107:GOSUB 1220
- 1110 A$="A":L=17:X=123:GOSUB 1220
- 1120 A$="T":L=19:X=139:GOSUB 1220
- 1130 PLAY "MB T90 O2 L8;XS$;"
- 1140 A$="R":L=21:X=155:GOSUB 1220
- 1150 A$="O":L=23:X=171:GOSUB 1220
- 1160 A$="O":L=25:X=187:GOSUB 1220
- 1170 A$="P":L=27:X=203:GOSUB 1220
- 1180 A$="E":L=29:X=219:GOSUB 1220
- 1190 A$="R":L=31:X=235:GOSUB 1220
- 1200 FOR I=1 TO 500:NEXT I
- 1210 RETURN
- 1220 FOR I=1 TO 64:PUT(X,I),TROOP%,PSET:NEXT I:PUT(X,64),TROOP%:PUT(X,64),LAND%:LOCATE 9,L:PRINT A$:RETURN
- 1230 '
- 1240 DATA &H38,&HB,&H5555,&H5555,&H5555,&H5555,&H5555,&H5555
- 1250 DATA &HA555,&H5555,&H5555,&H5655,&HD5A5,&HA956,&H5555,&HA55A
- 1260 DATA &H5AD5,&H550A,&H5A55,&HD5A5,&H2A8,&HAAAA,&HF5AF,&HAAEA
- 1270 DATA &HFAFF,&HABAA,&HEAF5,&HBFAA,&HAAFA,&HF5AA,&H55D5,&HF55F
- 1280 DATA &H5555,&HD555,&H5755,&H55F5,&H5555,&H55D5,&H5555,&H5555
- 1290 DATA &H55
- 1300 '
- 1310 DATA &H2A,&H17,&H0,&H0,&H0,&H0,&H80AA,&H0
- 1320 DATA &HA00,&HA8AA,&H0,&HAA00,&HAAAA,&H80,&HAA02,&HAAAA
- 1330 DATA &HA0,&HAA0A,&HAAAA,&HA8,&HAA0A,&HAAAA,&HA8,&HAA0A
- 1340 DATA &HAAAA,&HA8,&H8A02,&HA888,&HA0,&H8200,&H2000,&H80
- 1350 DATA &HC300,&H3000,&HC0,&H3B00,&H3B3F,&H0,&HF00,&H3C3F
- 1360 DATA &H0,&HB00,&H380C,&H0,&HA00,&HA8AA,&H0,&H0
- 1370 DATA &H2A,&H0,&H0,&H2A,&H0,&H0,&H2A,&H0
- 1380 DATA &H0,&H22,&H0,&H0,&H22,&H0,&H0,&H22
- 1390 DATA &H0,&H0,&H22,&H0,&H0,&H0,&H0,&H0
- 1400 '
- 1410 DATA &H22,&H17,&H0,&H0,&H0,&H0,&H0,&H0
- 1420 DATA &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
- 1430 DATA &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
- 1440 DATA &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
- 1450 DATA &H0,&H0,&H0,&HC00F,&H0,&H8F00,&HC8,&H0
- 1460 DATA &H883,&H0,&HAA00,&HA8,&H0,&H800A,&H0,&HA00
- 1470 DATA &H80,&H0,&H800A,&H0,&H800,&H80,&H0,&H8008
- 1480 DATA &H0,&H800,&H80,&H0
- 1490 '
- 1500 DATA &H30,&H17,&H0,&H0,&H0,&H0,&H0,&H0
- 1510 DATA &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
- 1520 DATA &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
- 1530 DATA &H0,&H0,&H0,&H0,&H0,&H0,&H0,&H0
- 1540 DATA &H0,&H0,&H0,&H0,&H5555,&H0,&H5500,&H5555
- 1550 DATA &H55,&H5505,&HFFFF,&H5055,&HFF15,&HFFFF,&H54FF,&HFF17
- 1560 DATA &HFFFF,&HD4FF,&HFF55,&HFFFF,&H55FF,&H5515,&HFD7F,&H5455
- 1570 DATA &H5505,&H5555,&H5055,&H5500,&H5555,&H55,&H300,&H57D5
- 1580 DATA &HC0,&H300,&HFFFF,&HC0,&H0,&HFC3F,&H0,&H0
-